package au.edu.swin.videoshop.service;

import java.util.Date;
import java.util.List;

import au.edu.swin.videoshop.bean.Customer;
import au.edu.swin.videoshop.bean.Rental;
import au.edu.swin.videoshop.bean.RentalStatus;
import au.edu.swin.videoshop.bean.Staff;
import au.edu.swin.videoshop.bean.TitleCopy;

public interface RentalService {
	public Rental makeRental(Customer customer, TitleCopy titleCopy, Staff staff, Date rentalDate);
	
	public void addRental(Rental rental);
	public void addReturn(long rentalId, Date returnDate);
	
	public List<Rental> findAllRentals();
	public Rental findRentalByTitleCopyId(String titleCopyId, Date returnDate);
	
	//For report
	public List<Rental> findRentalsByStoreId(long storeId);
	public List<Rental> findRentalsByCustomerId(long customerId);
	public List<Rental> findRentalsByStaffId(long staffId);
	public List<Rental> findRentalsByTitleId(long titleId);
	public List<Rental> findRentalsByStatus(RentalStatus status);
	public List<Rental> findRentalsByRentalDate(Date from, Date to);
}